#include<stdio.h>
typedef struct{
  int numitor;
  int numarator; 
}Rational;

 Rational produs(Rational,Rational);
 Rational suma(Rational,Rational);
 Rational diff(Rational,Rational);
 Rational q(Rational,Rational);

int cmmdc(int,int);
 Rational simplifica(Rational);

Rational produs(Rational a,Rational b)
{
 Rational r;
 r.numarator=a.numarator*b.numarator;
 r.numitor=a.numitor*b.numitor;
 return r;
}

 int main(){
Rational a,b;
 a.numarator=1;
 a.numitor=2;
 b.numarator=1;
 b.numitor=4;
 Rational rezultatOperatie;
 rezultatOperatie=produs(a,b);
 printf("n= %d/%d\n",rezultatOperatie.numarator,rezultatOperatie.numitor);
 rezultatOperatie=suma(a,b);
 printf("n= %d/%d\n",rezultatOperatie.numarator,rezultatOperatie.numitor);
 rezultatOperatie=diff(a,b);
 printf("n= %d/%d\n",rezultatOperatie.numarator,rezultatOperatie.numitor);
 rezultatOperatie=q(a,b);
 return 0;
} /* aici se face afisarea la toate operatiile */

Rational suma(Rational a,Rational b)
{
 Rational r;
 r.numarator=a.numarator*b.numitor+a.numitor*b.numarator;
 r.numitor=a.numitor*b.numitor;
 return r; /* aici trebuie facuta o functia "simplifica" si trebuie rescris astfel 'return simplifica(r);'*/
}

Rational diff(Rational a,Rational b)
{
 b.numarator=-b.numarator;
 return suma(a,b);
}

Rational q(Rational a,Rational b)
{
Rational t;
t.numarator=b.numitor;
t.numitor=b.numarator;
return produs(a,t);
}
